package com.canaan.business.domain.bill;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.canaan.common.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.canaan.common.annotation.Excel;
import com.canaan.common.core.domain.BaseEntity;

/**
 * 收货单对象 wms_receive_product_bill
 *
 * @author ruoyi
 * @date 2023-02-01
 */
@Data
@ApiModel(description = "wms_receive_product_bill")
@TableName("wms_receive_product_bill")
public class ReceiveProductBill extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** ID */
    @ApiModelProperty("${comment}")
    private Long id;

    /** 编号 */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private String no;

    /** 到货总数量 */
    @Excel(name = "到货总数量")
    @ApiModelProperty("到货总数量")
    private Long totalQty;


    /** 收货数量 */
    @Excel(name = "收货数量")
    @ApiModelProperty("收货数量")
    private Long checkTotalQty;

    /** 单据状态 1新建 2进行中 3已完成 */
    @Excel(name = "单据状态 1新建 2进行中 3已完成")
    @ApiModelProperty("单据状态 1新建 2进行中 3已完成")
    private Integer status;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("完成时间")
    private Date completeTime;

    /** 采购单号 */
    @Excel(name = "采购单号")
    @ApiModelProperty("采购单号")
    private String purchaseOrderNo;

    /** 供应商编码 */
    @Excel(name = "供应商编码")
    @ApiModelProperty("供应商编码")
    private String supplierNo;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商名称")
    private String supplierName;

    /** 仓库 */
    @Excel(name = "仓库")
    @ApiModelProperty("仓库")
    private String stockCode;

    /** 货主 */
    @Excel(name = "货主")
    @ApiModelProperty("货主")
    private String owner;

    /** 库存状态 */
    @Excel(name = "库存状态")
    @ApiModelProperty("库存状态")
    private String stockStatus;

    /** 预计入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预计入库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("预计入库时间")
    private Date arrivalDate;
    /** 是否短收 */
    @Excel(name = "是否短收")
    @ApiModelProperty("是否短收")
    private String shortMatch;

    /** 是否拆箱 */
    @Excel(name = "是否拆箱")
    @ApiModelProperty("是否拆箱")
    private String split;

    /** 是否删除：1是 0否 */
    @ApiModelProperty("供应商名称")
    private String delFlag;

    /** 查询已完成数据 */
    @ApiModelProperty("查询完成数据")
    private String searchFinish;

    @ApiModelProperty(value="多个状态条件，非数据库字段，只用于查询")
    List<String> orderStatusList;

}
